-
Notifications
You must be signed in to change notification settings - Fork 9
Benchmark Hive Router Query Planner in Hive Gateway #841
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
💻 Website PreviewThe latest changes are available as preview in: https://ae7575c2.federation-gateway-benchmark.pages.dev |
Overview for:
|
| Gateway | RPS ⬇️ | Requests | Duration | Notes |
|---|---|---|---|---|
| hive-router | 1767 | 110313 total, 0 failed | avg: 126ms, p95: 300ms | ✅ |
| grafbase | 1455 | 92836 total, 0 failed | avg: 150ms, p95: 347ms | ✅ |
| cosmo | 697 | 44422 total, 0 failed | avg: 316ms, p95: 734ms | ✅ |
| hive-gateway-router-runtime | 612 | 40299 total, 0 failed | avg: 349ms, p95: 733ms | ❌ non-compatible response structure (1) |
| apollo-router | 394 | 26261 total, 0 failed | avg: 537ms, p95: 1224ms | ❌ 20 unexpected GraphQL errors |
| hive-gateway | 267 | 18410 total, 0 failed | avg: 761ms, p95: 1745ms | ✅ |
| apollo-gateway | 133 | 9622 total, 0 failed | avg: 1327ms, p95: 2836ms | ✅ |
Summary for: hive-router
K6 Output
✓ response code was 200
✓ no graphql errors
✓ valid response structure
checks.........................: 100.00% ✓ 327939 ✗ 0
data_received..................: 9.7 GB 155 MB/s
data_sent......................: 128 MB 2.1 MB/s
http_req_blocked...............: avg=524.14µs min=1.22µs med=2.63µs max=353.93ms p(90)=4.05µs p(95)=4.8µs p(99.9)=182.49ms
http_req_connecting............: avg=520.56µs min=0s med=0s max=353.9ms p(90)=0s p(95)=0s p(99.9)=182.38ms
http_req_duration..............: avg=126.17ms min=1.75ms med=114.52ms max=444.97ms p(90)=253.31ms p(95)=300.43ms p(99.9)=396.12ms
{ expected_response:true }...: avg=126.17ms min=1.75ms med=114.52ms max=444.97ms p(90)=253.31ms p(95)=300.43ms p(99.9)=396.12ms
http_req_failed................: 0.00% ✓ 0 ✗ 110313
http_req_receiving.............: avg=553.86µs min=22.96µs med=42.86µs max=136.39ms p(90)=140.67µs p(95)=402.02µs p(99.9)=74.95ms
http_req_sending...............: avg=465.95µs min=5.26µs med=10.47µs max=140.97ms p(90)=27.59µs p(95)=130.76µs p(99.9)=72.48ms
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s p(99.9)=0s
http_req_waiting...............: avg=125.15ms min=1.69ms med=113.57ms max=414.8ms p(90)=251.02ms p(95)=297.73ms p(99.9)=394.11ms
http_reqs......................: 110313 1767.435646/s
iteration_duration.............: avg=128.17ms min=1.92ms med=116.11ms max=811.59ms p(90)=255.76ms p(95)=303.23ms p(99.9)=439.74ms
iterations.....................: 109313 1751.413639/s
success_rate...................: 100.00% ✓ 109313 ✗ 0
vus............................: 83 min=0 max=492
vus_max........................: 500 min=500 max=500
Performance Overview
HTTP Overview
Summary for: grafbase
K6 Output
✓ response code was 200
✓ no graphql errors
✓ valid response structure
checks.........................: 100.00% ✓ 275508 ✗ 0
data_received..................: 8.2 GB 128 MB/s
data_sent......................: 108 MB 1.7 MB/s
http_req_blocked...............: avg=757µs min=1.27µs med=3.09µs max=472.89ms p(90)=4.55µs p(95)=5.47µs p(99.9)=235.09ms
http_req_connecting............: avg=747.43µs min=0s med=0s max=415.44ms p(90)=0s p(95)=0s p(99.9)=234.95ms
http_req_duration..............: avg=149.83ms min=2.91ms med=138.15ms max=499.03ms p(90)=295.81ms p(95)=347.1ms p(99.9)=435.52ms
{ expected_response:true }...: avg=149.83ms min=2.91ms med=138.15ms max=499.03ms p(90)=295.81ms p(95)=347.1ms p(99.9)=435.52ms
http_req_failed................: 0.00% ✓ 0 ✗ 92836
http_req_receiving.............: avg=681.07µs min=25.78µs med=48.91µs max=178.73ms p(90)=107.66µs p(95)=456.43µs p(99.9)=96.58ms
http_req_sending...............: avg=620.57µs min=5.47µs med=11.88µs max=297.08ms p(90)=31.64µs p(95)=145.65µs p(99.9)=91.01ms
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s p(99.9)=0s
http_req_waiting...............: avg=148.53ms min=2.82ms med=136.84ms max=452.14ms p(90)=293.2ms p(95)=344.81ms p(99.9)=431.73ms
http_reqs......................: 92836 1455.758932/s
iteration_duration.............: avg=152.62ms min=3.25ms med=140.29ms max=913.82ms p(90)=299.49ms p(95)=350.88ms p(99.9)=544.34ms
iterations.....................: 91836 1440.077957/s
success_rate...................: 100.00% ✓ 91836 ✗ 0
vus............................: 11 min=0 max=500
vus_max........................: 500 min=500 max=500
Performance Overview
HTTP Overview
Summary for: cosmo
K6 Output
✓ response code was 200
✓ no graphql errors
✓ valid response structure
checks.........................: 100.00% ✓ 130266 ✗ 0
data_received..................: 3.9 GB 61 MB/s
data_sent......................: 52 MB 812 kB/s
http_req_blocked...............: avg=118.56µs min=1.21µs med=2.71µs max=198.83ms p(90)=4.02µs p(95)=5.59µs p(99.9)=40.32ms
http_req_connecting............: avg=113.89µs min=0s med=0s max=198.79ms p(90)=0s p(95)=0s p(99.9)=40.26ms
http_req_duration..............: avg=315.96ms min=2.8ms med=288.72ms max=1.55s p(90)=627.69ms p(95)=734.21ms p(99.9)=1.3s
{ expected_response:true }...: avg=315.96ms min=2.8ms med=288.72ms max=1.55s p(90)=627.69ms p(95)=734.21ms p(99.9)=1.3s
http_req_failed................: 0.00% ✓ 0 ✗ 44422
http_req_receiving.............: avg=525.92µs min=28.12µs med=57.13µs max=132.7ms p(90)=163.72µs p(95)=455.33µs p(99.9)=81.65ms
http_req_sending...............: avg=175.64µs min=5.48µs med=11µs max=153.25ms p(90)=29.15µs p(95)=125.58µs p(99.9)=36.73ms
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s p(99.9)=0s
http_req_waiting...............: avg=315.26ms min=2.73ms med=287.86ms max=1.55s p(90)=626.77ms p(95)=732.78ms p(99.9)=1.3s
http_reqs......................: 44422 697.444884/s
iteration_duration.............: avg=323.79ms min=3.01ms med=296.73ms max=1.55s p(90)=631.75ms p(95)=739.3ms p(99.9)=1.3s
iterations.....................: 43422 681.744445/s
success_rate...................: 100.00% ✓ 43422 ✗ 0
vus............................: 94 min=0 max=500
vus_max........................: 500 min=500 max=500
Performance Overview
HTTP Overview
Summary for: hive-gateway-router-runtime
K6 Output
✓ response code was 200
✓ no graphql errors
✗ valid response structure
↳ 99% — ✓ 39298 / ✗ 1
checks.........................: 99.99% ✓ 117896 ✗ 1
data_received..................: 3.5 GB 54 MB/s
data_sent......................: 47 MB 713 kB/s
http_req_blocked...............: avg=161.03µs min=1.28µs med=2.86µs max=188.39ms p(90)=4.54µs p(95)=6.4µs p(99.9)=49.91ms
http_req_connecting............: avg=155.73µs min=0s med=0s max=188.32ms p(90)=0s p(95)=0s p(99.9)=49.82ms
http_req_duration..............: avg=348.55ms min=4.67ms med=339.08ms max=1.15s p(90)=664.03ms p(95)=732.81ms p(99.9)=924.99ms
{ expected_response:true }...: avg=348.55ms min=4.67ms med=339.08ms max=1.15s p(90)=664.03ms p(95)=732.81ms p(99.9)=924.99ms
http_req_failed................: 0.00% ✓ 0 ✗ 40299
http_req_receiving.............: avg=210.01µs min=25.33µs med=45.1µs max=136.46ms p(90)=95.54µs p(95)=367.76µs p(99.9)=33.07ms
http_req_sending...............: avg=305.09µs min=5.65µs med=11.07µs max=179.11ms p(90)=30.19µs p(95)=136.07µs p(99.9)=51.11ms
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s p(99.9)=0s
http_req_waiting...............: avg=348.03ms min=4.63ms med=338.67ms max=1.15s p(90)=663.31ms p(95)=732.13ms p(99.9)=924.22ms
http_reqs......................: 40299 612.50141/s
iteration_duration.............: avg=358.02ms min=4.89ms med=348.27ms max=1.18s p(90)=667.82ms p(95)=736.28ms p(99.9)=940.66ms
iterations.....................: 39299 597.302487/s
success_rate...................: 99.99% ✓ 39298 ✗ 1
vus............................: 31 min=0 max=500
vus_max........................: 500 min=500 max=500
Performance Overview
HTTP Overview
Summary for: apollo-router
K6 Output
✓ response code was 200
✗ no graphql errors
↳ 99% — ✓ 25241 / ✗ 20
✓ valid response structure
checks.........................: 99.97% ✓ 75763 ✗ 20
data_received..................: 2.3 GB 35 MB/s
data_sent......................: 31 MB 460 kB/s
http_req_blocked...............: avg=71.29µs min=1.52µs med=3.07µs max=94.26ms p(90)=4.67µs p(95)=6.14µs p(99.9)=19.94ms
http_req_connecting............: avg=66.53µs min=0s med=0s max=94.22ms p(90)=0s p(95)=0s p(99.9)=19.64ms
http_req_duration..............: avg=536.86ms min=5.71ms med=495.88ms max=1.69s p(90)=1.09s p(95)=1.22s p(99.9)=1.59s
{ expected_response:true }...: avg=536.86ms min=5.71ms med=495.88ms max=1.69s p(90)=1.09s p(95)=1.22s p(99.9)=1.59s
http_req_failed................: 0.00% ✓ 0 ✗ 26261
http_req_receiving.............: avg=110.01µs min=30.36µs med=51.95µs max=45.27ms p(90)=89.86µs p(95)=150.79µs p(99.9)=10.71ms
http_req_sending...............: avg=103.24µs min=6.49µs med=11.31µs max=65.37ms p(90)=21.71µs p(95)=99.55µs p(99.9)=20.21ms
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s p(99.9)=0s
http_req_waiting...............: avg=536.64ms min=5.64ms med=495.78ms max=1.69s p(90)=1.09s p(95)=1.22s p(99.9)=1.59s
http_reqs......................: 26261 394.076738/s
iteration_duration.............: avg=558.49ms min=5.95ms med=521.94ms max=1.69s p(90)=1.1s p(95)=1.23s p(99.9)=1.6s
iterations.....................: 25261 379.070579/s
success_rate...................: 99.92% ✓ 25241 ✗ 20
vus............................: 91 min=0 max=499
vus_max........................: 500 min=500 max=500
Performance Overview
HTTP Overview
Summary for: hive-gateway
K6 Output
✓ response code was 200
✓ no graphql errors
✓ valid response structure
checks.........................: 100.00% ✓ 52230 ✗ 0
data_received..................: 1.6 GB 24 MB/s
data_sent......................: 22 MB 314 kB/s
http_req_blocked...............: avg=162.73µs min=1.25µs med=2.81µs max=176.85ms p(90)=4.84µs p(95)=8.12µs p(99.9)=44.88ms
http_req_connecting............: avg=157.13µs min=0s med=0s max=176.71ms p(90)=0s p(95)=0s p(99.9)=44.83ms
http_req_duration..............: avg=760.54ms min=6.34ms med=699.37ms max=5.12s p(90)=1.5s p(95)=1.74s p(99.9)=3.97s
{ expected_response:true }...: avg=760.54ms min=6.34ms med=699.37ms max=5.12s p(90)=1.5s p(95)=1.74s p(99.9)=3.97s
http_req_failed................: 0.00% ✓ 0 ✗ 18410
http_req_receiving.............: avg=234.36µs min=25.81µs med=45.58µs max=112.04ms p(90)=98.27µs p(95)=341.95µs p(99.9)=32.72ms
http_req_sending...............: avg=230.58µs min=5.59µs med=10.97µs max=116.53ms p(90)=32.7µs p(95)=126.92µs p(99.9)=39.09ms
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s p(99.9)=0s
http_req_waiting...............: avg=760.07ms min=6.29ms med=698.21ms max=5.12s p(90)=1.5s p(95)=1.74s p(99.9)=3.97s
http_reqs......................: 18410 267.612427/s
iteration_duration.............: avg=804.7ms min=7.48ms med=742.72ms max=5.13s p(90)=1.52s p(95)=1.75s p(99.9)=4.09s
iterations.....................: 17410 253.076173/s
success_rate...................: 100.00% ✓ 17410 ✗ 0
vus............................: 57 min=0 max=500
vus_max........................: 500 min=500 max=500
Performance Overview
HTTP Overview
Summary for: apollo-gateway
K6 Output
✓ response code was 200
✓ no graphql errors
✓ valid response structure
checks.........................: 100.00% ✓ 25866 ✗ 0
data_received..................: 845 MB 12 MB/s
data_sent......................: 12 MB 160 kB/s
http_req_blocked...............: avg=45.79µs min=1.31µs med=4.26µs max=41.25ms p(90)=6.96µs p(95)=22.36µs p(99.9)=8.35ms
http_req_connecting............: avg=38.28µs min=0s med=0s max=41.17ms p(90)=0s p(95)=0s p(99.9)=8.28ms
http_req_duration..............: avg=1.32s min=8.34ms med=1.29s max=17.45s p(90)=2.34s p(95)=2.83s p(99.9)=16.57s
{ expected_response:true }...: avg=1.32s min=8.34ms med=1.29s max=17.45s p(90)=2.34s p(95)=2.83s p(99.9)=16.57s
http_req_failed................: 0.00% ✓ 0 ✗ 9622
http_req_receiving.............: avg=114.38µs min=29.84µs med=86.75µs max=21.89ms p(90)=140.86µs p(95)=176.88µs p(99.9)=3.22ms
http_req_sending...............: avg=59.1µs min=5.99µs med=17.85µs max=24.07ms p(90)=39.52µs p(95)=61.82µs p(99.9)=7.93ms
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s p(99.9)=0s
http_req_waiting...............: avg=1.32s min=8.27ms med=1.29s max=17.45s p(90)=2.34s p(95)=2.83s p(99.9)=16.57s
http_reqs......................: 9622 133.224129/s
iteration_duration.............: avg=1.48s min=8.77ms med=1.41s max=17.46s p(90)=2.39s p(95)=2.87s p(99.9)=16.66s
iterations.....................: 8622 119.378345/s
success_rate...................: 100.00% ✓ 8622 ✗ 0
vus............................: 89 min=0 max=500
vus_max........................: 500 min=500 max=500
Performance Overview
HTTP Overview
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
# Conflicts: # gateways/hive-gateway-bun/package.json # gateways/hive-gateway/package.json # package-lock.json
# Conflicts: # gateways/hive-gateway-bun/package.json # gateways/hive-gateway/package.json # gateways/hive-router/install.sh # package-lock.json
Ref GW-510
Closes #862
Related graphql-hive/gateway#1629
Also